package com.changan.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.changan.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.changan.vo.UserVO;
import org.apache.ibatis.annotations.Param;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author NieChangan
 * @since 2022-03-02
 */
public interface UserService extends IService<User> {

    /**
     * 功能描述: <br>
     * 〈对用户进行条件查询+分页+联表〉
     * @Param: [page, userVO]
     * @Return: java.util.List<com.changan.entity.User>
     * @Author: Mr.Nie
     * @Date: 2022/3/4 14:04
     */
    Page<User> findUserList(Page<User> page,UserVO userVO);

    /**
     * 导出用户Excel
     * @param response 响应,request 响应前端导出的结果
     * @param tbUsers  导出的数据集,具体导出哪些数据
     * @throws IOException
     */
    void exportUserExcel(HttpServletResponse response, List<User> tbUsers) throws IOException;

    List<User> findUsers(UserVO userVO);

    /**
     * 功能描述: <br>
     * 〈实现用户名密码的登录〉
     * @Param: [username, password]
     * @Return: java.lang.String
     * @Author: Mr.Nie
     * @Date: 2022/3/14 14:12
     */
    String login(String username, String password);
}
